package com.example.innospace.demos.pojo.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
// 项目类
public class ProjectDTO {
    // 项目的唯一标识，对应数据库中的 id 字段
    private Integer id;
    // 项目编码，对应数据库中的 projectUUID 字段
    private String projectUUID;
    // 资金编码，对应数据库中的 budgetUUID 字段
    private String budgetUUID;
    // 项目名称，对应数据库中的 name 字段
    private String name;
    // 项目描述，对应数据库中的 description 字段
    private String description;
    // 学生 ID，对应数据库中的 student_id 字段
    private String studentId;
    // 所属学院，对应数据库中的 college 字段
    private String college;
    // 阶段类型，对应数据库中的 phase_type 字段
    private String phaseType;
    // 阶段状态，对应数据库中的 status 字段
    private String status;
    // 项目类型，对应数据库中的 project_type 字段
    private String projectType;
    // 项目级别，对应数据库中的 level 字段
    private String level;
    // 项目开始时间，对应数据库中的 start_time 字段
    private LocalDateTime startTime;
    // 项目结束时间，对应数据库中的 end_time 字段
    private LocalDateTime endTime;
    // 项目创建时间，对应数据库中的 create_time 字段
    private LocalDateTime createTime;
    // 申报开始时间
    private LocalDateTime applicationStartTime;
    // 申报结束时间
    private LocalDateTime  applicationEndTime;
    // 中期开始时间
    private LocalDateTime  midtermStartTime;
    // 中期结束时间
    private LocalDateTime  midtermEndTime;
    // 结题开始时间
    private LocalDateTime  finalStartTime;
    // 结题结束时间
    private LocalDateTime  finalEndTime;
    // 老师审核状态，对应数据库中的 teacher_review_status 字段
    private String teacherReviewStatus;
    // 学院审核状态，对应数据库中的 college_review_status 字段
    private String collegeReviewStatus;
    // 学校审核状态，对应数据库中的 school_review_status 字段
    private String schoolReviewStatus;
    // 项目是否延期，对应数据库中的 is_project_extended 字段
    private boolean isProjectExtended;
    // 项目时间，对应数据库中的 project_time 字段
    private LocalDateTime projectTime;
    // 项目是否淘汰，对应数据库中的 is_eliminated 字段
    private boolean isEliminated;
    // 项目是否通过审核，对应数据库中的 is_passed 字段
    private boolean isPassed;
    // 项目中期申请是否提交，对应数据库中的 is_midterm_application_submitted 字段
    private boolean isMidtermApplicationSubmitted;
    // 项目结题申请是否提交，对应数据库中的 is_final_application_submitted 字段
    private boolean isFinalApplicationSubmitted;
    // 项目预资助情况，对应数据库中的 prefunding 字段
    private String prefunding;
    // 项目预算金额，对应数据库中的 budget 字段
    private BigDecimal budget;
    // 项目预算审核状态，对应数据库中的 budget_status 字段
    private String budgetStatus;
    // 项目是否申请报销，对应数据库中的 is_reimbursement_applied 字段
    private boolean isReimbursementApplied;
    // 项目审核通过的报销金额，对应数据库中的 audited_reimbursement 字段
    private BigDecimal auditedReimbursement;
    // 项目所属学科，对应数据库中的 discipline 字段
    private String discipline;
    // 项目实施时间，对应数据库中的 project_duration 字段
    private LocalDateTime projectDuration;
    // 项目第一指导老师姓名，对应数据库中的 first_teacher 字段
    private String firstTeacher;
    // 项目第二指导老师姓名，对应数据库中的 second_teacher 字段
    private String secondTeacher;

}